using System.Net.DnsToolkit.Packet;
using System.Net.DnsToolkit.Packet.Records;

namespace System.Net.DnsToolkit.Serializer {
    /// <summary>
    /// RecordReaderProvider provider RecordReader for IRecord.
    /// eg. RecordAReader for QTypeEnum.A, RecordAAAReader for QTypeEnum.AAAA
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IRecordReaderProvider<T> {

        /// <summary>
        /// Provide a RecordReader for the specified QTypeEnum
        /// </summary>
        /// <param name="qTypeEnum"></param>
        /// <returns></returns>
        IRecordReader<T> Provide(QTypeEnum qTypeEnum);

    }
}